Managing objects in panorama display to navigate spreadsheet

ABSTRACT

A panorama display application shows objects from a spreadsheet such as charts in primary screen of a mobile device adjoined by left and right virtual screens. The application overlays interaction controls such as sort and filter functions on the object. The application also provides additional interaction controls for the object on the left virtual screen and associated objects links on the right virtual screen. The application may expose the additional interaction controls and the associated objects links by overlaying portions of the virtual screens on the primary screen. The application fluidly shifts content from virtual screens to the primary screen subsequent to detected user action on the overlaid portions.

CROSS-REFERENCE TO RELATED APPLICATION

This Application is a continuation under 35 U.S.C. § 120 of co-pendingU.S. patent application Ser. No. 13/490,830 filed on Jun. 7, 2012. Thedisclosure of the U.S. Patent Application is hereby incorporated byreference in its entirety.

BACKGROUND

Computer applications interact with human beings through userinterfaces. While audio, tactile, and similar forms of user interfacesare available, visual user interfaces through a display device are themost common form of user interface. With the development of faster andsmaller electronics for computing devices, smaller size devices such ashandheld computers, smart phones, tablet devices, and comparable deviceshave become common. Such devices execute a wide variety of applicationsranging from communication applications to complicated analysis tools.Many such applications render visual effects through a display andenable users to provide input associated with the applications'operations.

Screen size and utilization are ongoing concerns in mobile deviceplatforms. Screen sizes in mobile devices are limited due to minimalistapproach most modern solutions provide to fulfill customer demand. Thereis substantial technical challenge to providing a display capable ofdesktop computer resolutions in a mobile device. Even when feasible,providing a desktop computer resolution in a mobile device leads to tinyfonts and diminished usability. Duplicating most features of a desktopapplication including controls and fine details of a displayed object isa great challenge to surmount. Most modern solutions provide mobileapplications with diminished features compared to desktop counterparts.Other solutions try to fit large desktop based menu structures intosmaller screen size of mobile devices with diminished returns onusability.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to exclusively identify keyfeatures or essential features of the claimed subject matter, nor is itintended as an aid in determining the scope of the claimed subjectmatter.

Embodiments are directed to managing objects in a panorama display tonavigate a spreadsheet. According to embodiments, an application maydisplay an object from the spreadsheet on a primary screen of a panoramadisplay including the primary screen and left and right virtual screens.The primary screen may be a display surface of a mobile device. Theapplication may overlay primary interaction controls on the object.Primary interaction controls may include controls to manipulate elementsof the object. The application may provide additional interactioncontrols for the object on the left virtual screen adjacent to theprimary screen and/or associated objects links on the right virtualscreen adjacent to the primary screen.

These and other features and advantages will be apparent from a readingof the following detailed description and a review of the associateddrawings. It is to be understood that both the foregoing generaldescription and the following detailed description are explanatory anddo not restrict aspects as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example network diagram where an application maymanage objects in a panorama display to navigate a spreadsheet accordingto some embodiments;

FIG. 2 illustrates an example user interface managing objects in apanorama display to navigate a spreadsheet according to embodiments;

FIG. 3 illustrates another orientation of an example user interfacemanaging objects in a panorama display to navigate a spreadsheetaccording to embodiments;

FIG. 4 illustrates another example user interface displaying actions tomanage objects in a panorama display to navigate a spreadsheet accordingto embodiments;

FIG. 5 illustrates another example user interface in transition betweenscreens of a panorama display managing objects to navigate a spreadsheetaccording to embodiments;

FIG. 6 is a networked environment, where a system according toembodiments may be implemented;

FIG. 7 is a block diagram of an example computing operating environment,where embodiments may be implemented; and

FIG. 8 illustrates a logic flow diagram for a process managing objectsin a panorama display to navigate a spreadsheet according toembodiments.

DETAILED DESCRIPTION

As briefly described above, an application may manage objects in apanorama display to navigate a spreadsheet. The application may displayan object such as a chart on a primary screen of a panorama display withadjoining virtual screens. The primary screen may be the display surfaceof a mobile device such as a smart phone of a tablet device (i.e.: aslate.) The display surface may be a touch based control surface for thedevice. The device may also be controlled by gestures, which may becaptures optically or based on touch. The application may overlayprimary interaction controls on the object. The primary interactioncontrols may be dynamically changed as a result of zooming in and out ofsections of the object. The application may also provide additionalinteraction controls for the object on a left virtual screen andassociated objects links on a right virtual screen adjacent to theprimary screen. The additional interaction controls may include dataelement manipulation processes such as sorting and filtering. Theassociated objects links may include links to pivot tables andalternative charts of the object. Next, the application may overlayportions of the left and right virtual screens on the primary screenexposing the additional interaction controls and the associated objectslinks on the primary screen.

In the following detailed description, references are made to theaccompanying drawings that form a part hereof, and in which are shown byway of illustrations specific embodiments or examples. These aspects maybe combined, other aspects may be utilized, and structural changes maybe made without departing from the spirit or scope of the presentdisclosure. The following detailed description is therefore not to betaken in a limiting sense, and the scope of the present disclosure isdefined by the appended claims and their equivalents.

While the embodiments will be described in the general context ofprogram modules that execute in conjunction with an application programthat runs on an operating system on a computing device, those skilled inthe art will recognize that aspects may also be implemented incombination with other program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that embodiments may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and comparablecomputing devices. Embodiments may also be practiced in distributedcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed computing environment, program modules may be located inboth local and remote memory storage devices.

Embodiments may be implemented as a computer-implemented process(method), a computing system, or as an article of manufacture, such as acomputer program product or computer readable media. The computerprogram product may be a computer storage medium readable by a computersystem and encoding a computer program that comprises instructions forcausing a computer or computing system to perform example process(es).The computer-readable storage medium is a non-transitorycomputer-readable memory device. The computer-readable storage mediumcan for example be implemented via one or more of a volatile computermemory, a non-volatile memory, a hard drive, a flash drive, a floppydisk, or a compact disk, and comparable media.

According to embodiments, a spreadsheet may be any data in a tableformat which may include objects such as charts to represent the data. Apanorama display may include a primary screen and multiple virtualscreens with content. A user may be enabled to shift content from onevirtual screen to the primary screen through touch actions. Touchactions may include taps and swipes. The panorama display may provide acontinuous display experience through fluid shift movements whenchanging content from virtual screens to the primary screen. The primaryscreen may be the display surface of a mobile device such as a smartphone, a tablet or slate device, or any device with a touch baseddisplay. Due to screen size limitations in mobile devices, a spreadsheetmay be partitioned to object, additional object controls, and associatedobjects links to be managed by the panorama display.

Throughout this specification, the term “platform” may be a combinationof software and hardware components for managing objects in a panoramadisplay to navigate a spreadsheet. Examples of platforms include, butare not limited to, a hosted service executed over a plurality ofservers, an application executed on a single computing device, andcomparable systems. The term “server” generally refers to a computingdevice executing one or more software programs typically in a networkedenvironment. However, a server may also be implemented as a virtualserver (software programs) executed on one or more computing devicesviewed as a server on the network. More detail on these technologies andexample operations is provided below.

Referring to FIG. 1, diagram 100 illustrates an example network diagramwhere an application may manage objects in a panorama display tonavigate a spreadsheet according to some embodiments. The components andenvironments shown in diagram 100 are for illustration purposes.Embodiments may be implemented in various local, networked, cloud-basedand similar computing environments employing a variety of computingdevices and systems, hardware and software.

In an example environment illustrated in diagram 100, one or moreservers 102 may provide content such as a spreadsheet for consumption.Content may be stored in data stores partitioned to data tables. Theservers 102 may provide the content to clients upon request throughnetworks 104. The network(s) 104 may be any network architectureproviding access to the servers 102 through wired or wirelesstechnology.

Client devices 106 may include a variety of hardware such as desktopcomputer 110, laptop computer 112, a tablet device 114 such as a slate,and a smart phone 116. The client devices 106 may execute an applicationproviding a panorama display through the client devices display surface.The client devices 106 may retrieve content such as a spreadsheet fromservers 102. An application executing on client devices 106 may displayan object, controls, and associated objects retrieved from the contentin the panorama display of the client devices 106. Alternatively, theclient devices may retrieve and display object, controls, and associatedobjects links on the panorama display of the client devices from localcontent (i.e.: a spreadsheet) of the client devices.

FIG. 2 illustrates an example user interface managing objects in apanorama display to navigate a spreadsheet according to embodiments.Diagram 200 displays an example mobile device 202 such as a smart phoneexecuting an application utilizing the panorama display.

According to some embodiments, the device 202 may have a display capableof showing the panorama display 216. The panorama display 216 may exposevirtual screens adjacent to a primary screen 206 through overlaidportions on the primary screen 206. A left virtual screen 204 and aright virtual screen 208 may be partially overlaid on the primary screen206 exposing a user to additional content such controls and objectslinks.

According to other embodiments, the left virtual screen 204 may provideadditional interaction controls 210 for an object 212 displayed on theprimary screen 206. The application may provide primary controls tomanipulate the object 212 displayed on the primary screen 206. Theadditional interaction controls may include functionality to alter thedata elements of the object 212. In an example scenario, the applicationmay overlay primary interaction controls on the object 212 to sort andfilter data elements through primary screen 206. In another examplescenario, the application may provide additional interaction controls210 such as expanded sort and filter functions provided on the leftvirtual screen.

According to other embodiments, the application may provide associatedobjects links 214 on a right virtual screen 208. In an example scenariowhere the object 212 is a chart, the associated objects links mayinclude links to data tables, alternative charts, pivot tables, etc.

FIG. 3 illustrates another orientation of an example user interfacemanaging objects in a panorama display to navigate a spreadsheetaccording to embodiments. Diagram 300 displays a device 302 such as asmart phone in a horizontal orientation. An application providing apanorama display 310 may adjust the panorama display 310 according tothe orientation of the device 302.

According to some embodiments, the application may detect a change inorientation of the device through device sensors. According to theorientation of the device, the application may adjust the orientation ofthe panorama display 310. When the application detects the device 302 ina horizontal orientation, the application may rotate the objectdisplayed on a primary screen 306 to a horizontal format. Theapplication may rescale the object to fit the horizontal format.Examples may include swapping axis in charts and adding and removingcolumns and rows from data tables, etc.

According to other embodiments, the application may also rotate virtualscreens adjacent to the primary screen upon detecting a rotated device302. In an horizontal position, the application may rotate left virtualscreen 304 to a horizontal position and rescale provided content such asadditional interaction controls to a horizontal orientation. Therescaled controls may be formatted to be displayed in two columns toutilize the horizontal screen space in an optimized fashion.Additionally, the application may also re-orient the contents of a rightvirtual screen 308 to a horizontal orientation upon detecting ahorizontal device 302. The application may rescale the contents such asassociated objects links. The application may format the associatedobjects links to utilize the horizontal screen space optimally. Examplesmay include presenting the links through multiple columns or displayingadditional information about the associated objects. Embodiments are notlimited to horizontal orientation described above, the device may alsobe held in a vertical orientation leading the application to re-orientthe right and left virtual screens and the primary screen to a verticalorientation as described in prior examples.

FIG. 4 illustrates another example user interface displaying actions tomanage objects in a panorama display to navigate a spreadsheet accordingto embodiments. Diagram 400 may display a left virtual screen 402, aprimary screen 404, and a right virtual screen 406. The left virtualscreen 402 may provide additional interaction controls. The rightvirtual screen 406 may provide associated links objects. The primaryscreen 404 may display the object and overlaid portions of the left andright virtual screens.

According to some embodiments, a user may touch a portion of the leftvirtual screen 402 overlaid on the primary screen 404. The touch actionmay be a tap 410. Upon detecting the tap 410, the application may shiftthe contents of the left virtual screen 402 such as the additionalinteraction controls into the primary screen 404. The application mayprovide the object displayed by the primary screen 404 on the rightvirtual screen 406. The application may also provide the associatedobjects links on the left virtual screen 402. Alternatively, theapplication may initiate a right shift of the additional interactioncontrols when the application detects a touch action such as a rightswipe 412 concluding on a right edge of the primary screen 404 overlaidby the portion of the right virtual screen. A right swipe is not limitedto one concluding on the right edge. Any predefined right swipe on theprimary screen may initiate right shift of content within the panoramadisplay.

According to other embodiments, the user may touch a portion of theright virtual screen 406 overlaid on the primary screen 404. The touchaction may be a tap 418. Upon detecting the tap 418, the application mayshift the contents of the right virtual screen 406 such as associatedobjects links into the primary screen 404. The application may providethe object displayed by the primary screen 404 into the left virtualscreen 402. The application may also provide the additional interactioncontrols on the right virtual screen 406. Alternatively, the applicationmay initiate a left shift of the associated objects links when theapplication detects a touch action such as a left swipe 412 concludingon a left edge of the primary screen 404 overlaid by the portion of theleft virtual screen. A left swipe is not limited to one concluding onthe left edge. Any predefined left swipe on the primary screen mayinitiate left shift of content within the panorama display.

According to yet other embodiments, the application may overlay primarycontrols on the content displayed on the primary screen 404. In anexample scenario, the application may detect a touch action such as atap 416 on an element of the object. The application may display apop-up information box providing additional information about theelement. In another example scenario, the application may detect a touchaction such as a pinch 414 or a spread. The application may zoom into asection of the object centered around the pinch 414 subsequent todetecting the pinch 414. Alternatively, the application may zoom out ofa section of the object centered around a spread subsequent to detectingthe spread.

According to other embodiments, the application may detect a touchaction on the object. The application may activate a primary interactioncontrol associated with the touch action. The primary interactioncontrol may include a select, a sort, a filter, a zoom in, or a zoom outof data elements of the object. The touch action may include a tap, atap and hold, a swipe, a pinch, and a spread. Alternatively, the touchaction may include multiple fingertips based motions which may bepreviously or dynamically assigned to controls for the object.

According to other embodiments, the application may position theoverlaid portion of the left virtual screen at a left edge of theprimary screen. The application may also position the overlaid portionof the right virtual screen at a right edge of the primary screen.Additionally, the application may rotate the object, the additionalinteraction controls, and the associated objects links according to ahorizontal and a vertical positioning of the panorama display asdiscussed above.

According to other embodiments, the application may detect a right swipeconcluding at a right edge of the primary screen or a tap on an area ofthe primary screen displaying the overlaid portion of the left virtualscreen as a touch action. The application may shift the additionalinteraction controls to the primary screen subsequent to detecting thetouch action. And, the application may provide the object on the rightvirtual screen. Alternatively, the application may detect a left swipeconcluding at a left edge of the primary screen or a tap on an area ofthe primary screen displaying the overlaid portion of the right virtualscreen as a touch action. The application may shift the associatedobjects links to the primary screen. And, the application may providethe object on the left virtual screen.

According to other embodiments, the object may be a data table or achart associated with the data table. The additional interactioncontrols may activate operations on elements and format of the object.As previously discussed, the primary screen may be a display surface ofa device such as a mobile device.

FIG. 5 illustrates another example user interface in transition betweenscreens of a panorama display managing objects to navigate a spreadsheetaccording to embodiments. Diagram 500 may display a device showingassociated objects links on a primary screen 502 and an object such as achart provided on the left virtual screen. The application may detect atap action 504 selecting one of the associated objects links.Subsequently, the application may display the selected object such as adata table on the primary screen 506 of the device.

According to some embodiments, the application may provide associatedobjects links including alternative charts of the object and pivottables of data elements of the object on a left virtual screen.Additionally, the application may provide additional interactioncontrols to create pivot tables of data elements of the object includingobject attribute selection and attribute relationship analysis controlson the right virtual screen.

According to other embodiments, the application may adjust a movementbetween the object, the additional interaction controls, and theassociated objects links to provide a fluid shift according to thedetected touch action. Additionally, the application may detect anothertouch action selecting one of the associated object links. Subsequent todetecting the other touch action, the application may display a selectedassociated object on the primary screen.

According to yet other embodiments, the application may adjust presentedprimary interaction controls subsequent to zoom in or zoom out from asection of the object centered around the zoom action according to anassociated pinch or spread user touch action. In an example scenario,the application may provide primary controls to manipulate an elementsubsequent to zoom in to the element. In another example scenario, theapplication may provide default primary controls to manipulate theentire object subsequent to a zoom out of a section of the object.

Embodiments are not limited to primary screen and left and right virtualscreens. In alternate embodiments, multiple virtual screens may be usedto provide multiple objects, additional interaction controls sets, orassociated objects links sets. Embodiments are also not limited tooverlaying the portions of the right and left virtual screen on theprimary screen simultaneously. Both or one of the left and rightportions may be displayed according to user preferences or dynamicallyadjusted settings. A user may still access an un-displayed portion of avirtual screen through a user action such as tap or a swipe in thedirection of the virtual screen.

The example scenarios and schemas in FIG. 2 through 5 are shown withspecific components, data types, and configurations. Embodiments are notlimited to systems according to these example configurations. Managingobjects in a panorama display to navigate a spreadsheet may beimplemented in configurations employing fewer or additional componentsin applications and user interfaces. Furthermore, the example schema andcomponents shown in FIG. 2 through 5 and their subcomponents may beimplemented in a similar manner with other values using the principlesdescribed herein.

FIG. 6 is a networked environment, where a system according toembodiments may be implemented. Local and remote resources may beprovided by one or more servers 614 or a single server (e.g. web server)616 such as a hosted service. An application may communicate with clientinterfaces on individual computing devices such as a smart phone 612 ora tablet device 611 (‘client devices’) through network(s) 610.

As discussed above, an application may manage objects in a panoramadisplay to navigate a spreadsheet. The application may display an objectfrom the spreadsheet on a primary screen of the device and provideadditional interaction controls and associated objects links inadjoining virtual screens. The application may orient the primaryscreen, virtual screen and contents according to detected deviceorientation to provide optimum flow during content shifts from virtualscreens to the primary screen. Client devices 611-613 may enable accessto applications executed on remote server(s) (e.g. one of servers 614)as discussed previously. The server(s) may retrieve or store relevantdata from/to data store(s) 619 directly or through database server 618.

Network(s) 610 may comprise any topology of servers, clients, Internetservice providers, and communication media. A system according toembodiments may have a static or dynamic topology. Network(s) 610 mayinclude secure networks such as an enterprise network, an unsecurenetwork such as a wireless open network, or the Internet. Network(s) 610may also coordinate communication over other networks such as PublicSwitched Telephone Network (PSTN) or cellular networks. Furthermore,network(s) 610 may include short range wireless networks such asBluetooth or similar ones. Network(s) 610 provide communication betweenthe nodes described herein. By way of example, and not limitation,network(s) 610 may include wireless media such as acoustic, RF, infraredand other wireless media.

Many other configurations of computing devices, applications, datasources, and data distribution systems may be employed to manage objectsin a panorama display to navigate a spreadsheet. Furthermore, thenetworked environments discussed in FIG. 6 are for illustration purposesonly. Embodiments are not limited to the example applications, modules,or processes.

FIG. 7 and the associated discussion are intended to provide a brief,general description of a suitable computing environment in whichembodiments may be implemented. With reference to FIG. 7, a blockdiagram of an example computing operating environment for an applicationaccording to embodiments is illustrated, such as computing device 700.In a basic configuration, computing device 700 may include at least oneprocessing unit 702 and system memory 704. Computing device 700 may alsoinclude a plurality of processing units that cooperate in executingprograms. Depending on the exact configuration and type of computingdevice, the system memory 704 may be volatile (such as RAM),non-volatile (such as ROM, flash memory, etc.) or some combination ofthe two. System memory 704 typically includes an operating system 705suitable for controlling the operation of the platform, such as theWINDOWS® and WINDOWS PHONE® operating systems from MICROSOFT CORPORATIONof Redmond, Wash. The system memory 704 may also include one or moresoftware applications such as program modules 706, a panorama displayapplication 722, and object module 724.

Panorama display application 722 may provide a display surface of adevice with adjoining virtual screens to provide additional interactioncontrols and associated objects links for the object displayed on theprimary screen according to embodiments. The object module 724 mayformat and evaluate objects to create controls for the objects andassociated objects. Examples may include forming pivot tables accordingto defined relationships between attributes of the objects. This basicconfiguration is illustrated in FIG. 7 by those components within dashedline 708.

Computing device 700 may have additional features or functionality. Forexample, the computing device 700 may also include additional datastorage devices (removable and/or non-removable) such as, for example,magnetic disks, optical disks, or tape. Such additional storage isillustrated in FIG. 7 by removable storage 709 and non-removable storage710. Computer readable storage media may include volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Computerreadable storage media is a non-transitory computer readable memorydevice. System memory 704, removable storage 709 and non-removablestorage 710 are all examples of computer readable storage media.Computer readable storage media includes, but is not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by computing device 700. Any such computerreadable storage media may be part of computing device 700. Computingdevice 700 may also have input device(s) 712 such as keyboard, mouse,pen, voice input device, touch input device, and comparable inputdevices. Output device(s) 714 such as a display, speakers, printer, andother types of output devices may also be included. These devices arewell known in the art and need not be discussed at length here.

Computing device 700 may also contain communication connections 716 thatallow the device to communicate with other devices 718, such as over awireless network in a distributed computing environment, a satellitelink, a cellular link, and comparable mechanisms. Other devices 718 mayinclude computer device(s) that execute communication applications,storage servers, and comparable devices. Communication connection(s) 716is one example of communication media. Communication media can includetherein computer readable instructions, data structures, programmodules, or other data in a modulated data signal, such as a carrierwave or other transport mechanism, and includes any information deliverymedia. The term “modulated data signal” means a signal that has one ormore of its characteristics set or changed in such a manner as to encodeinformation in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media.

Example embodiments also include methods. These methods can beimplemented in any number of ways, including the structures described inthis document. One such way is by machine operations, of devices of thetype described in this document.

Another optional way is for one or more of the individual operations ofthe methods to be performed in conjunction with one or more humanoperators performing some. These human operators need not be co-locatedwith each other, but each can be only with a machine that performs aportion of the program.

FIG. 8 illustrates a logic flow diagram for a process managing objectsin a panorama display to navigate a spreadsheet according toembodiments. Process 800 may be implemented by an application such as apanorama display application in some examples.

Process 800 may begin with operation 810 where an application maydisplay an object from the spreadsheet on a primary screen of a panoramadisplay that includes left and right adjoined virtual screens. Atoperation 820, the application may overlay primary interaction controlson the object. The primary interaction controls may include sort, filterand zoom functions. Next, the application may provide additionalinteraction controls for the object on the left virtual screen atoperation 830. The additional interaction controls may be determineddynamically according to the object displayed by the primary screen. Atoperation 840, the application may provide associated objects links onthe right virtual screen. The associated objects may include pivottables, alternative charts, etc. Subsequently, the application mayoverlay portions of the left and right virtual screens on the primaryscreen to expose the additional interaction controls and the associatedobjects links on the primary screen at operation 850.

Some embodiments may be implemented in a computing device that includesa communication module, a memory, and a processor, where the processorexecutes a method as described above or comparable ones in conjunctionwith instructions stored in the memory. Other embodiments may beimplemented as a computer readable storage medium with instructionsstored thereon for executing a method as described above or similarones.

The operations included in process 800 are for illustration purposes.Managing objects in a panorama display to navigate a spreadsheetaccording to embodiments may be implemented by similar processes withfewer or additional steps, as well as in different order of operationsusing the principles described herein.

The above specification, examples and data provide a completedescription of the manufacture and use of the composition of theembodiments. Although the subject matter has been described in languagespecific to structural features and/or methodological acts, it is to beunderstood that the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims and embodiments.

What is claimed is:
 1. A computing device to manage objects in a displayto navigate an application, the computing device comprising: a memoryconfigured to store instructions; a processor coupled to the memory, theprocessor executing the instructions stored in the memory; and atouch-based display coupled to the processor; wherein the instructionscause the computing device to: display an object from the application ona primary screen of the display, wherein the display includes theprimary screen, a left virtual screen, and a right virtual screen;provide, on the left virtual screen, at least one of (i) an interactioncontrol or (ii) a link to other objects; provide, on the right virtualscreen, at least one of (i) the interaction control or (ii) the link toother objects; overlay an actionable portion of the left virtual screenon a left edge of the primary screen, the actionable portion of the leftvirtual screen having content overlaid on the primary screen, whereinthe actionable portion of the left virtual screen exposes a rightportion of the left virtual screen with an indication of (i) theinteraction control or (ii) the link to other objects available on theleft virtual screen; overlay an actionable portion of the right virtualscreen on a right edge of the primary screen, the actionable portion ofthe right virtual screen having content overlaid on the primary screen,wherein the actionable portion of the right virtual screen exposes aleft portion of the right virtual screen with an indication of (i) theinteraction control or (ii) the link to other objects on the rightvirtual screen; detect a gesture on one of the actionable portion of theleft virtual screen overlaid on the primary screen or the actionableportion of the right virtual screen overlaid on the primary screen;responsive to detection of the gesture on the actionable portion of theleft virtual screen, shift the left virtual screen to the touch-baseddisplay in place of the primary screen; and responsive to detection ofthe gesture on the actionable portion of the right virtual screen, shiftthe right virtual screen to the touch-based display in place of theprimary screen.
 2. The computing device of claim 1, wherein theprocessor is further configured to: detect a change in an orientation ofthe primary screen through device sensors integrated with the computingdevice; and modify the orientation of the primary screen to match thedetected orientation change.
 3. The computing device of claim 2, whereinthe processor is further configured to: rotate the object displayed onthe primary screen to match the detected orientation change of theprimary screen, wherein the object is a data table; and re-scale theobject displayed on the primary screen by one or more of adding columnsto the data table, adding rows to the data table, removing columns fromthe data table, and removing rows from the data table.
 4. The computingdevice of claim 2, wherein the processor is further configured to:rotate the object displayed on the primary screen to match the detectedorientation change of the primary screen, wherein the object is a chartassociated with a data table; and re-scale the object displayed on theprimary screen by swapping axes in the chart.
 5. The computing device ofclaim 2, wherein the processor is further configured to: rotate andre-scale content provided on at least one of the left virtual screen orthe right virtual screen to match the detected orientation change of theprimary screen.
 6. The computing device of claim 1, wherein theprocessor is further configured to: detect, on the touch-based display,a touch action on an element of the object from the application; anddisplay one of a drop-down menu or a pop-up box that provides additionalinformation about the element.
 7. The computing device of claim 1,wherein the processor is further configured to: detect, on thetouch-based display, touch action on an element of the object from theapplication; activate a primary interaction control overlaid on theobject from the application displayed on the primary screen, wherein theprimary interaction control includes one or more of a select control, asort control, a filter control, a zoom in control, or a zoom outcontrol; and perform actions associated with the primary interactioncontrol on the element of the object from the application.
 8. Thecomputing device of claim 1, wherein the processor is further configuredto: detect an activation of the interaction control; and perform actionsassociated with the interaction control on a format of the object fromthe application.
 9. The computing device of claim 1, wherein theprocessor is further configured to: detect, on the touch-based display,a swipe action concluding at a right edge of the primary screen; shift(i) the interaction control or (ii) the link to other objects from theleft virtual screen to the primary screen; and shift the object from theapplication into the right virtual screen.
 10. The computing device ofclaim 1, wherein the processor is further configured to: detect, on thetouch-based display, a tap action on an area of the primary screendisplaying the right portion of the left virtual screen; and shift (i)the interaction control or (ii) the link to other objects from the leftvirtual screen to the primary screen.
 11. A method comprising: causingdisplay of an object from a spreadsheet on a primary screen of a displayof a computing device, wherein the display includes the primary screen,a left virtual screen, and a right virtual screen; providing, on theleft virtual screen, at least one of (i) an interaction controldetermined according to the object from the spreadsheet displayed on theprimary screen or (ii) a link to other objects associated with theobject from the spreadsheet displayed on the primary screen; providing,on the right virtual screen, at least one of (i) the interaction controldetermined according to the object from the spreadsheet displayed on theprimary screen or (ii) the link to other objects associated with theobject from the spreadsheet displayed on the primary screen; overlayingan actionable portion of the left virtual screen on a left edge of theprimary screen, the actionable portion of the left virtual screen havingcontent overlaid on the primary screen, wherein the actionable portionof the left virtual screen exposes a right portion of the left virtualscreen with an indication of (i) the interaction control determinedaccording to the object from the spreadsheet displayed on the primaryscreen or (ii) the link to other objects associated with the object fromthe spreadsheet displayed on the primary screen available on the leftvirtual screen; overlaying an actionable portion of the right virtualscreen on a right edge of the primary screen, the actionable portion ofthe right virtual screen having content overlaid on the primary screen,wherein the actionable portion of the right virtual screen exposes aleft portion of the right virtual screen with an indication of (i) theinteraction control determined according to the object from thespreadsheet displayed on the primary screen or (ii) the link to otherobjects associated with the object from the spreadsheet displayed on theprimary screen available on the right virtual screen; and receiving anindication of a gesture on: the actionable portion of the left virtualscreen overlaid on the primary screen and shift the left virtual screenin place of the primary screen; or the actionable portion of the rightvirtual screen overlaid on the primary screen and shift the rightvirtual screen in place of the primary screen.
 12. The method of claim11, further comprising: receiving an indication of an activation of theinteraction control; performing a selection of object attributesassociated with the interaction control, wherein the object attributesare associated with data elements of the object; and detecting acreation of a pivot table, wherein the pivot table includes the selectedobject attributes and the data elements of the object.
 13. The method ofclaim 11, further comprising: receiving an indication of an activationof the interaction control; performing an attribute relationshipanalysis of data elements of the object based on the interactioncontrol; and detecting a creation of a pivot table, wherein the pivottable includes results from the attribute relationship analysis and dataelements of the object.
 14. The method of claim 11, further comprising:receiving an indication of an activation of the link to other objects onthe right virtual screen or on the left virtual screen; and causingpresentation of a chart of the object on the other one of the rightvirtual screen or the left virtual screen.
 15. The method of claim 11,further comprising: receiving an indication of a swipe concluding at aleft edge of the primary screen; shifting (i) the interaction control or(ii) the link to other objects from the right virtual screen to theprimary screen; and shifting the object into the left virtual screen.16. The method of claim 11, further comprising: receiving an indicationof a tap action on an area of the primary screen displaying the leftportion of the right virtual screen; shifting (i) the interactioncontrol or (ii) the link to other objects from the right virtual screento the primary screen; and shifting the object into the left virtualscreen.
 17. The method of claim 11, further comprising: receiving anindication of an activation of the link to other objects on the rightvirtual screen or on the left virtual screen; and causing presentationof a pivot table that includes data elements of the object on the otherone of the right virtual screen or the left virtual screen.
 18. Acomputer-readable storage media with instructions stored thereon formanaging objects in a display to navigate a spreadsheet, theinstructions comprising: displaying an object from the spreadsheet on aprimary screen of the display, wherein the display includes the primaryscreen, a left virtual screen, and a right virtual screen; providing, onthe left virtual screen, at least one of (i) an interaction controldetermined according to the object from the spreadsheet displayed on theprimary screen or (ii) a link to other objects, the other objectscomprising data tables, alternative charts, or pivot tables; providing,on the right virtual screen, at least the other one of the (i)interaction control determined according to the object from thespreadsheet displayed on the primary screen or (ii) the link to otherobjects, the other objects comprising data tables, alternative charts,or pivot tables; overlaying an actionable portion of the left virtualscreen on a left edge of the primary screen, the actionable portion ofthe left virtual screen having content overlaid on the primary screen,wherein the actionable portion of the left virtual screen exposes aright portion of the left virtual screen with an indication of (i) theinteraction control determined according to the object from thespreadsheet displayed on the primary screen or (ii) the link to otherobjects available on the left virtual screen; overlaying an actionableportion of the right virtual screen on a right edge of the primaryscreen, the actionable portion of the right virtual screen havingcontent overlaid on the primary screen, wherein the actionable portionof the left virtual screen exposes a left portion of the right virtualscreen with an indication of (i) the interaction control determinedaccording to the object from the spreadsheet displayed on the primaryscreen or (ii) the link to other objects available on the right virtualscreen; detecting a gesture on the actionable portion of the leftvirtual screen overlaid on the primary screen or on the actionableportion of the right virtual screen overlaid on the primary screen;responsive to detecting the gesture on the actionable portion of theleft virtual screen, shifting the left virtual screen in place of theprimary screen; and responsive to detecting the gesture on theactionable portion of the right virtual screen, shifting the rightvirtual screen in place of the primary screen.
 19. The computer-readablestorage media of claim 18, wherein the instructions further comprise:detecting a touch action on an element of the object; activating aprimary interaction control on the primary screen associated with thetouch action, wherein the primary interaction control includes one ormore of a select control, a sort control, a filter control, a zoom incontrol, or a zoom out control performed on the element of the object;detecting an activation of the primary interaction control to performactions associated with the primary interaction control on the elementof the object; detecting an activation of the interaction control; andperforming actions on a format of the object through the interactioncontrol.
 20. The computer-readable storage media of claim 18, whereinthe instructions further comprise: detecting a change in an orientationof the primary screen through device sensors; modifying the orientationof the spreadsheet to match the detected orientation change of theprimary screen; rotating an object displayed on the primary screen tomatch the detected orientation change of the primary screen; andre-scaling the object displayed on the primary screen by swapping axesin a chart, adding columns to a data table of the object, adding rows tothe data table of the object, removing columns from the data table ofthe object.